"data" folder

- field soil moisture measurements.xlsx - soil water pressure head data for the sampling points
- Training.csv includes the measurements which are used in the extended Kalman filter to correct the predictions.
- .txt files - soil parameters obtained from Kriging interpolation


"code/Estimation" folder

This folder contains the code for soil moisture estimation using the extended Kalman filter (EKF)

- Parameters.py - this file contains the parameters of the field
- Soil_Functions.py - this module contains van-Genuchten constitutive relations for state and soil parameters
- Pre_Jacobian.py - this module calculates the Jacobian matrix
- read_data.py - this module reads the Training.csv file (measurements)
- Model.py - this module contains the 3D Richards equation
- Extended_Kalman_Filter.py - this file contains the function of extended Kalman filter.
- Main_EKF.py - this is the main file for simulation.

"cod/Observability" folder

This folder determines the optimal sensor placement using modal degree of observability

- linearizing_matrixA.py - this module calculates the Jacobian matrix A used in sensor placement algorithm
- Main-observibility.py - this is the main file to implement the modal degree of observability and determine the optimal sensor placement
